An important design consideration for semiconductor memory systems is the support circuitry used to supply sensing of the memory state stored in each of the cells of the memory. Especially important nowadays are non-volatile-memory (NVM) chips, used to store program code, typically of the UV erasable (EPROM), or electrically-erasable (EEPROM), or FLASH type. In a typical conventional EPROM, the cells are connected in rows between horizontal word lines and in columns between vertical bit lines. One current sense amplifier is connected to each bit line adjacent each column of cells. By changing the voltage in a word line, all the cells in the associated row produce in the associated bit line a current, depending on their charge state, which current can be sensed by the sense amplifier connected to that bit line producing at the output of the amplifier a voltage representative of the programmed state (typically a binary "0"), or the un-programmed state (typically a binary "1") stored in the cell at the intersection of the word and bit lines.
As cells have shrunk in size in order to increase the memory size per chip, the sense currents have also reduced. To increase sensitivity, it is common to sense simultaneously a reference cell which is always in the un-programmed or ON or "1" condition, and at times to use a differential amplifier to which is input both the reference current from the reference cell and the sense current from the memory cell whose state is to be determined (herein referred to as the "sensed cell"). If the sensed cell is in the opposite programmed (OFF) condition, then the differential amplifier outputs one value. When the sensed cell is in the same un-programmed (ON) condition, the differential amplifier outputs the opposite value.